package com.campus.app.service;

import com.campus.commons.entity.EveningSubject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.commons.utils.Result;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.InputStream;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 晚自习排课表 服务类
 * </p>
 *
 * @author Rin
 * @since 2020-12-24
 */

public interface EveningSubjectsService extends IService<EveningSubject> {
    /**
     * 获取所有晚自习值班
     * @return
     */
    Result<List<EveningSubject>> getAllSubjects(int current,int size);

    /**
     * 返回今天的晚自习课表；
     * @return
     */
    Result<List<EveningSubject>> getNowSubjects();
    /**
     * 获取所有晚自习值班
     * @return
     */
    Result<List<EveningSubject>> getSubjects(int current,int size,Date start, Date end, String className);

    /**
     * 添加晚自习值班
     * @param eveningSubject
     * @return
     */
    Result addSubject(@NotNull EveningSubject eveningSubject);

    /**
     * 删除晚自习值班信息 通过Id
     * @param subjectId
     * @return
     */
    Result delSubject(@NotNull @Min(1) Integer subjectId);

    /**
     * 更新晚自习信息；
     * @param eveningSubject
     * @return
     */
    Result upSubject(@NotNull EveningSubject eveningSubject);

    Result uploadSubject(InputStream fileStream, String fileName);

}
